package com.example.mq.common;

import com.example.mq.mqserver.core.BasicProperties;

import java.io.IOException;

/**
 * 单纯的回调式接口，表示在服务器收到消息后，需要处理消息时调用的方法
 */
@FunctionalInterface
public interface Consumer {
    // Delivery 的意思是“投递”，这个方法预期是在每次服务器收到消息后，来调用
    // 通过这个方法把消息推送给对应的消费者
    // 这里方法和参数都是参考 rabbitMq
    void handleDelivery(String consumeTag, BasicProperties basicProperties,byte[] body) throws MqException, IOException;
}
